Update Ruby MCP client example - #177
Merged
Merged
Conversation
9 tasks
Follow-up to modelcontextprotocol#121. This PR removes the `base64` dependency from the Gemfile, as it became a runtime dependency of Claude SDK for Ruby v1.60.0+. anthropics/anthropic-sdk-ruby#161 (comment)
koic
force-pushed
the
update_ruby_client
branch
from
August 7, 2026 20:19
a9f56b7 to
0c048a9
Compare
koic
added a commit
to koic/modelcontextprotocol
that referenced
this pull request
Aug 7, 2026
Follow-up to modelcontextprotocol/quickstart-resources#177. This PR removes the `base64` dependency from the `bundle add` arguments, as it became a runtime dependency of Claude SDK for Ruby v1.60.0+. anthropics/anthropic-sdk-ruby#161 (comment) At least when this draft of `build-client.mdx` was written, `bundle add ...` was expected to install a recent version of the Claude SDK for Ruby that already includes `base64` as a runtime dependency.
olaservo
pushed a commit
to modelcontextprotocol/modelcontextprotocol
that referenced
this pull request
Aug 10, 2026
Follow-up to modelcontextprotocol/quickstart-resources#177. This PR removes the `base64` dependency from the `bundle add` arguments, as it became a runtime dependency of Claude SDK for Ruby v1.60.0+. anthropics/anthropic-sdk-ruby#161 (comment) At least when this draft of `build-client.mdx` was written, `bundle add ...` was expected to install a recent version of the Claude SDK for Ruby that already includes `base64` as a runtime dependency.
There was a problem hiding this comment.
Pull request overview
Updates the Ruby MCP client example’s dependency set to align with newer Anthropic Ruby SDK behavior, simplifying the Gemfile now that base64 is provided transitively at runtime.
Changes:
- Remove the explicit
base64gem dependency from the Ruby example Gemfile. - Add a minimum version constraint for
anthropic(>= 1.60.0) to ensure the runtime dependency behavior is present.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This was referenced Aug 10, 2026
olaservo
approved these changes
Aug 10, 2026
olaservo
added a commit
to olaservo/quickstart-resources
that referenced
this pull request
Aug 10, 2026
CI installed no Ruby toolchain and the suite ran no Ruby example, so nothing under mcp-client-ruby or weather-server-ruby was exercised by a green build. A dependency change there -- modelcontextprotocol#177 removes the base64 gem now that the anthropic gem declares it -- merges on the strength of a check that never resolved its Gemfile. The client is drivable without credentials: it connects before it looks for ANTHROPIC_API_KEY and exits 0 when there is none, the same shape the Python and TypeScript clients already rely on for their coverage. The Ruby weather server stays uncovered. The mcp gem's server does not emit the resultType field that protocol revision 2026-07-28 makes mandatory, so the test client rejects its responses; that is a fix for the gem rather than something an example can work around. The README said the gem could not negotiate the revision at all, which stopped being true at 1.1.0 -- it negotiates, then answers incompletely. Ruby 3.4 rather than the 3.2.0 floor the anthropic gem declares: 3.2 reached end of life in March 2026, and a gem's floor says what it tolerates, not what an example should tell people to run. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
olaservo
added a commit
to olaservo/quickstart-resources
that referenced
this pull request
Aug 10, 2026
CI installed no Ruby toolchain and the suite ran no Ruby example, so nothing under mcp-client-ruby or weather-server-ruby was exercised by a green build. A dependency change there -- modelcontextprotocol#177 removes the base64 gem now that the anthropic gem declares it -- merges on the strength of a check that never resolved its Gemfile. The client is drivable without credentials: it connects before it looks for ANTHROPIC_API_KEY and exits 0 when there is none, the same shape the Python and TypeScript clients already rely on for their coverage. The Ruby weather server stays uncovered. The mcp gem's server does not emit the resultType field that protocol revision 2026-07-28 makes mandatory, so the test client rejects its responses; that is a fix for the gem rather than something an example can work around. The README said the gem could not negotiate the revision at all, which stopped being true at 1.1.0 -- it negotiates, then answers incompletely. Ruby 3.4 rather than the 3.2.0 floor the anthropic gem declares: 3.2 reached end of life in March 2026, and a gem's floor says what it tolerates, not what an example should tell people to run. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #121.
This PR removes the
base64dependency from the Gemfile, as it became a runtime dependency of Claude SDK for Ruby v1.60.0+.anthropics/anthropic-sdk-ruby#161 (comment)
Checklist